﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

public partial class UrunDetay : System.Web.UI.Page
{
    protected void Page_PreRender(object sender, EventArgs e)
    {
        DilDegistir();
    }

    protected void DilDegistir()
    {

        if (Cookies.Dil == "TR")
        {
            lblUrunKoduBaslik.InnerText = "Ürün Kodu";
            lblKampanyaBaslik.InnerText = "Kampanya";
            lblFiyatBaslik.InnerText = "Fiyat";
            lblYukseklikBaslik.InnerText = "Yükseklik";
            lblGenislikBaslik.InnerText = "Genişlik";
            lblDipBaslik.InnerText = "Dip";
            lblSapUzunluguBaslik.InnerText = "Sap Uzunluğu";
            lblOmuzAskisi.InnerText = "Omuz Askısı";
            lblAdet.InnerText = "Adet Belirtin";

            lblStokDurumu.InnerText = "Stok Durumu";
            lblKasayaGits.Text = "KASAYA GİT";
            aOnceki.Text = "Önceki Ürün";
            aSonraki.Text = "Sonraki Ürün";

            aUrunAyrinti.InnerText = "Ürün Ayrıntıları";
            aUrunYorum.InnerText = "Ürün Yorumları";
            aTaksitSecenek.InnerText = "Taksit Seçenekleri";

            lbYorum.InnerText = "Yorum yapmak için giriş yapın";

            lblUyeGirisi.Text = "Üye Girişi";
            txtEPosta.Attributes["placeholder"] = "E-posta Adresiniz";
            txtParola.Attributes["placeholder"] = "Şifreniz";
            cbBeniHatirla.Text = "Beni Hatırla";
            lblUyeDegil.Text = "Üye Değilseniz!";
            lblYeniUye.Text = "Yeni Üyelik için Tıklayınız";
            btnGiris.Text = "Giriş";

            btnYorum.Text = "Yorum yap";
            txtYorum.Attributes["placeholder"] = "Ürün hakkındaki yorumlarınızı girin";
        }
        else
        {
            lblUrunKoduBaslik.InnerText = "Product Code";
            lblKampanyaBaslik.InnerText = "Campaign";
            lblFiyatBaslik.InnerText = "Price";
            lblYukseklikBaslik.InnerText = "Height";
            lblGenislikBaslik.InnerText = "Width";
            lblDipBaslik.InnerText = "Bottom";
            lblSapUzunluguBaslik.InnerText = "Length of handle";
            lblOmuzAskisi.InnerText = "Shoulder strap";
            lblAdet.InnerText = "Quantity";

            lblStokDurumu.InnerText = "Stock";
            lblKasayaGits.Text = "BUY";

            aOnceki.Text = "Previous Product";
            aSonraki.Text = "Next Product";

            aUrunAyrinti.InnerText = "Product Details";
            aUrunYorum.InnerText = "Comments";
            aTaksitSecenek.InnerText = "Payment Options";

            lbYorum.InnerText = "Login to make comment";

            lblUyeGirisi.Text = "Log In";
            txtEPosta.Attributes["placeholder"] = "E-Mail Address";
            txtParola.Attributes["placeholder"] = "Password";
            cbBeniHatirla.Text = "Remember Me";
            lblUyeDegil.Text = "If you don't have account !";
            lblYeniUye.Text = "Click for new account";
            btnGiris.Text = "Log In";

            btnYorum.Text = "Comment";
            txtYorum.Attributes["placeholder"] = "Make comment about the product";
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
            if (QueryString.Urun > 0)
            {
                bool TurkceMi = Cookies.Dil == "TR";
                string dil="TR";
                if (Request.Cookies["dil"].Value == "ENG")
                    dil = "ENG";

                DataTable dtUrun = DataAccess.GetUrunBilgileri(QueryString.Urun,dil);
                DataRow drUrun;
                if (dtUrun.Rows.Count > 0)
                    drUrun = dtUrun.Rows[0];
                else
                {
                    drUrun = null;
                    Response.Redirect(Page.GetRouteUrl("AnaSayfa", new { }));
                }

                //ddlRenk.RenkDoldur();

                lblUrunAdi.Text = drUrun["UrunAdi"].ToString();
                lblKampanya.Text = drUrun["KampanyaAdi"].ToString();
                lblKod.Text = drUrun["UrunKodu"].ToString();
                lblEskiFiyat.Text = drUrun["EskiFiyat"].ToString();
                lblFiyat.Text = drUrun["Fiyat"].ToString() ;
                lblYukseklik.Text = drUrun["Yukseklik"].ToString();
                lblGenslik.Text = drUrun["Genislik"].ToString();
                lblDip.Text = drUrun["Dip"].ToString();
                lblSap.Text = drUrun["SapUzunlugu"].ToString();
                lblOmuz.Text = drUrun["OmuzAskisi"].ToString();

                imgonceki.ImageUrl = string.Format("~/urunler/{0}", drUrun["OncekiResim"].ToString());
                imgonceki.CommandArgument = drUrun["OncekiUrunId"].ToString();

                imgsonraki.ImageUrl = string.Format("~/urunler/{0}", drUrun["SonrakiResim"].ToString());
                imgsonraki.CommandArgument = drUrun["SonrakiUrunId"].ToString();

                imgBuyuk.Src =  string.Format("/urunler/{0}", drUrun["BuyukResimAdi"].ToString());

                int StokUyari = (int)drUrun["StokUyari"];
                if (StokUyari == 1)
                    stokUyari.InnerText = TurkceMi ? "Haber Verilecek" : "Will Be Inform";
                else
                    stokUyari.InnerText = TurkceMi ? "Geldiğinde Haber Ver" : "Inform Me When Stock In";


                int StokMiktari = (int)drUrun["StokMiktari"];
                if (StokMiktari > 0)
                {
                    stoksimgesi.Attributes["class"] = "fa fa-heart kalp-2yesil";
                    stokUyari.Style.Add("display", "none");
                }
                else
                {
                    divDugmeler.Style.Add("display", "none");

                    bool GelecekMi = drUrun["GelecekMi"].ToString() == "True";
                    if (GelecekMi)
                        gelinceHaberVer.Style.Add("opacity", "1");
                    else
                        stokUyari.Style.Add("display", "none");

                    stoksimgesi.Attributes["class"] = "fa fa-ban kalp-2kirmizi";
                    liAdet.Style.Add("display", "none");
                }

                hidStok.Value = StokMiktari.ToString();
                cantaDurumu.InnerText = drUrun["CantaAciklama"].ToString();
                //hizliAl.HRef = "FaturaAdresi.aspx?UrunId=" + QueryString.Urun;

                tabAyrinti.InnerText = drUrun["UrunDetaylari"].ToString();
                //tabYorum.InnerText = "Yorum yohh"; // TODO : Yorumları listview ile bağla
                tabTaksit.InnerText = "Taksit yohh"; // TODO : Burayı Musa yapar 

                Page.MetaDescription = drUrun["Tanimlama"].ToString();
                Page.MetaKeywords = drUrun["AnahtarKelime"].ToString();
                Page.Title = drUrun["UrunAdi"].ToString();

                string url = HttpContext.Current.Request.Url.AbsoluteUri;
                string[] BuyukResim = drUrun["BuyukResimAdi"].ToString().Split('/');
                string SosyalResimAdi = BuyukResim.Length > 2 ? BuyukResim[2] : "";
                string fbResim = "http://deneme.skaladeri.com.tr/urunler/socialshare/" + SosyalResimAdi;
                //aFBLike.HRef = "http://www.facebook.com/plugins/like.php?href=" + url + "&width&layout=button_count&action=like&show_faces=false&share=false&height=21&appId=751735624909877";
                ifbLike.Attributes["src"] = "//www.facebook.com/plugins/like.php?href="+url+"&amp;width&amp;layout=button_count&amp;action=like&amp;show_faces=true&amp;share=false&amp;height=21&amp;appId=751735624909877";
                aFBShare.HRef = "https://www.facebook.com/dialog/feed?app_id=751735624909877&display=page&caption=" + QueryString.UrunAdi + "&link=" + url + "&redirect_uri=https://www.facebook.com&picture=" + fbResim;
                aTwShare.HRef = "http://twitter.com/share?url=http://" + url + "&text=" + QueryString.UrunAdi ;
                aGoogleShare.HRef = "https://plus.google.com/share?url=" + url;
                aLNShare.HRef = "https://www.linkedin.com/shareArticle?source=LinkedIn&title=" + QueryString.UrunAdi + "&summary=" + QueryString.UrunAdi + "&mini=true&url=" + url;
                aVKShare.HRef = "http://vkontakte.ru/share.php?url=" + url + "&image=" + fbResim;
                aPIShare.HRef = "http://www.pinterest.com/pin/create/button/?url=" + url + "&media=" + fbResim + "&description=" + QueryString.UrunAdi;
                
                int UyeId = Sessions.UyeId;
                if (UyeId>0)
                {
                    lbYorum.Visible = false;
                }
                else
                {
                    divYorum.Visible = false;
                }

            }
            else
                Response.Redirect(Page.GetRouteUrl("AnaSayfa",new{}));

    }

    protected void imgonceki_Click(object sender, ImageClickEventArgs e)
    {
        Response.Redirect(Page.GetRouteUrl("Urun", new { UrunId = imgonceki.CommandArgument, UrunAdi = "çanta" }));
    }

    protected void imgsonraki_Click(object sender, ImageClickEventArgs e)
    {
        Response.Redirect(Page.GetRouteUrl("Urun", new { UrunId = imgsonraki.CommandArgument, UrunAdi = "çanta" }));

    }

    protected void btnCanta_Click(object sender, ImageClickEventArgs e)
    {
        ImageButton btnCanta = (sender as ImageButton);
        if (btnCanta.CommandArgument == "cantada")
        {
            int UrunId = QueryString.Urun;
            if (Sessions.UyeId > 0)
            {
                int SepetAdedi = DataAccess.CantadanCikar(UrunId);

                Sessions.SepetAdedi = SepetAdedi;
                (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

                btnCanta.ImageUrl = "~/resimler/cantayaEkle.png";
                btnCanta.CommandArgument = "cantayaEkle";
                //upbtnCanta.Update();
            }
            else
                Response.Redirect(Page.GetRouteUrl("UyeGiris", new object { }));
        }
        else if (btnCanta.CommandArgument == "cantayaEkle")
        {
            int UrunId = QueryString.Urun;
            if (Sessions.UyeId > 0)
            {
                int Adet = int.Parse(txtAdet.Text);
                DataRow dr = DataAccess.CantayaEkle(UrunId, Adet);
                if (dr != null)
                {
                    int SepetAdedi = Convert.ToInt16(dr["SepetAdedi"]);

                    Sessions.SepetAdedi = SepetAdedi;
                    (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

                    btnCanta.ImageUrl = "~/resimler/cantada.png";
                    btnCanta.CommandArgument = "cantada";
                    //upbtnCanta.Update();
                }
            }
            else
            {
                Control updPanel = (this.Master as Skala).FindControl("upAd");
                ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> LoginPenceresi(); </script>", false);
            }
        }
    }

    protected void cantaDurumu_ServerClick(object sender, EventArgs e)
    {
        bool TurkceMi = Cookies.Dil == "TR";
        int Adet = int.Parse(txtAdet.Text);
        if ((cantaDurumu.InnerText == "ÇANTAMA EKLE" || cantaDurumu.InnerText == "ADD TO CART") && Adet > 0)
        {
            int UrunId = QueryString.Urun;
            if (Sessions.UyeId > 0)
            {
                
                DataRow dr = DataAccess.CantayaEkle(UrunId, Adet);
                if (dr != null)
                {
                    int SepetAdedi = Convert.ToInt16(dr["SepetAdedi"]);

                    Sessions.SepetAdedi = SepetAdedi;
                    (this.Master as Skala).SepetAdediGuncelle(SepetAdedi);

                    cantaDurumu.InnerText = TurkceMi ? "ÇANTADA" : "AT CART";
                }
            }
            else
            {
                Control updPanel = (this.Master as Skala).FindControl("upAd");
                ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> LoginPenceresi(); </script>", false);
            }
        }
    }
    protected void stokUyari_ServerClick(object sender, EventArgs e)
    {
        if (stokUyari.InnerText == "Geldiğinde Haber Ver")
        {
            int UrunId = QueryString.Urun;
            int UyeId = Sessions.UyeId;
            if (UyeId > 0)
            {
                int Adet = int.Parse(txtAdet.Text);
                bool EklendiMi = DataAccess.StokUyarisiEkle(UrunId, UyeId);
                if (EklendiMi)
                {
                    string Kime = Sessions.EPosta;
                    string Baslik = "Skala Bilgilendime";
                    string Icerik = @"Seçtiğiniz ürün stoklara geldiğinde tarafınıza bilgilendirme maili gönderilecektir.";

                    bool Aktivasyon = EPosta.EPostaGonder(Kime, Baslik, Icerik);
                    stokUyari.InnerText = "Haber Verilecek";
                }
            }
            else 
            {
                Control updPanel = (this.Master as Skala).FindControl("upAd");
                ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> LoginPenceresi(); </script>", false);
            }
        }
    }
    protected void btnHizliAl_Click(object sender, EventArgs e)
    {
        Sessions.HizliAdet = Convert.ToInt16(txtAdet.Text);

        Response.Redirect(Page.GetRouteUrl("TeslimatAdresi", new { UrunId = QueryString.Urun }));
        //Response.Redirect("TeslimatAdresi.aspx?UrunId=" + QueryString.Urun);
    }
    protected void btnGiris_Click(object sender, EventArgs e)
    {
        bool TurkceMi = Cookies.Dil == "TR";
        try
        {
            DataTable dtUye = DataAccess.GetUyeDogrulama(txtEPosta.Text, txtParola.Text);
            if (dtUye.Rows.Count > 0)
            {
                DataRow drUye = dtUye.Rows[0];

                bool DogrulandiMi = (bool)drUye["DogrulandiMi"];
                if (!DogrulandiMi)
                {
                    loginalert.Style.Add("display", "normal");
                    loginalert.InnerHtml = TurkceMi ? "Üyelik aktivasyonunuz tamamlanmamış. Lütfen size göderilen aktivasyon mailiyle üyeliğinizi tamamlayın !"
                        : "Your account hasn't been activated. Please activate by activation mail !";
                    return;
                }
                int SepetAdet = Convert.ToInt16(drUye["SepetAdet"]);
                int BegeniAdet = Convert.ToInt16(drUye["BegeniAdet"]);


                Sessions.UyeId = (int)drUye["UyeId"];
                Sessions.Ad = drUye["Ad"].ToString() + " " + drUye["Soyad"].ToString();
                Sessions.Cinsiyet = Convert.ToInt16(drUye["Cinsiyet"]);
                Sessions.EPosta = drUye["EPosta"].ToString();
                Sessions.SepetAdedi = SepetAdet;
                Sessions.BegeniAdedi = BegeniAdet;
                Sessions.ToptanMusterimi = drUye["ToptanMusterimi"].ToIntZero();

                (this.Master as Skala).SepetAdediGuncelle(SepetAdet);
                (this.Master as Skala).BegeniGuncelle(BegeniAdet);
                
                if (cbBeniHatirla.Checked)
                {
                    HttpCookie UyeCookie = new HttpCookie("Uye");
                    UyeCookie.Values["EPosta"] = txtEPosta.Text;
                    UyeCookie.Values["Parola"] = txtParola.Text;
                    UyeCookie.Expires = DateTime.Now.AddMonths(1);
                    Response.Cookies.Add(UyeCookie);
                }
                else
                {
                    if (Request.Cookies["Uye"] != null)
                    {
                        HttpCookie myCookie = new HttpCookie("Uye");
                        myCookie.Expires = DateTime.Now.AddDays(-1);
                        Response.Cookies.Add(myCookie);
                    }
                }

                Response.Redirect(Page.GetRouteUrl("Urun", new { UrunId = QueryString.Urun, UrunAdi = Temizle.UrlCevir(QueryString.UrunAdi) }));

            }
            else
            {
                loginalert.Style.Add("display", "normal");
                loginalert.InnerHtml = TurkceMi ? "Email yada şifre hatalı. Tekrar deneyin !" : "Wrong E-mail or password !";

                Control updPanel = (this.Master as Skala).FindControl("upAd");
                ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> LoginPenceresiGoster(); </script>", false);
            }
        }
        catch (Exception ex)
        {
            loginalert.Style.Add("display", "normal");
            loginalert.InnerHtml = TurkceMi ? "Tekrar deneyin !" : "Try again !";

            //lblInfo.Text = "Tekrar deneyin !";
        }
    }


    protected void btnYorum_Click(object sender, EventArgs e)
    {
        if (Sessions.UyeId > 0)
        {
            if (txtYorum.InnerText != "")
            {
                DataAccess.InsYorum(txtYorum.InnerText, QueryString.Urun);
                txtYorum.InnerText = "";
                //listYorum.DataBind();
                Control updPanel = (this.Master as Skala).FindControl("upAd");
                ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> alertOzelLoc('Yorumunuz onaylandıktan sonra yayımlanacaktır',''); </script>", false);
            }
            
        }
        else
        {
            Control updPanel = (this.Master as Skala).FindControl("upAd");
            ScriptManager.RegisterStartupScript(updPanel, updPanel.GetType(), "a", "<script> LoginPenceresi(); </script>", false);
        }
    }
}